﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;

namespace VMC.Domain.Model.Account
{
    public class UpdateProfile
    {
        [ScaffoldColumn(false)]
        public int ID { get; set; }

        [Required(ErrorMessage = "{0} is required.")]
        [DataType(DataType.EmailAddress)]
        [Display(Name = "Email address")]
        public string Email { get; set; }

        [Required(ErrorMessage = "{0} is required.")]
        [Display(Name = "First name")]
        [StringLength(50, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 1)]
        public string FirstName { get; set; }

        [Required(ErrorMessage = "{0} is required.")]
        [Display(Name = "Last name")]
        [StringLength(50, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 1)]
        public string LastName { get; set; }

        [Required(ErrorMessage = "Address is required")]
        [Display(Name = "Address")]
        [StringLength(128, MinimumLength = 1, ErrorMessage = "Address Line is limited to 128 characters")]
        public string AddressLine1 { get; set; }

        [Display(Name = "Address 2")]
        [StringLength(128, MinimumLength = 1, ErrorMessage = "Address is limited to 128 characters")]
        public string AddressLine2 { get; set; }

        [Required(ErrorMessage = "City State, Zip is required")]
        [Display(Name = "City State, Zip")]
        [StringLength(75, MinimumLength = 1, ErrorMessage = "City State, Zip is limited to 75 characters")]
        public string CityStateZip { get; set; }

        [Required(ErrorMessage = "Work Phone is required")]
        [Display(Name = "Work Phone")]
        [StringLength(25, MinimumLength = 1, ErrorMessage = "Work Phone is limited to 25 characters")]
        public string WorkPhone { get; set; }
    }
}